# LANGUAGE message translation file for plpython
# Copyright (C) 2018 PostgreSQL Global Development Group
# This file is distributed under the same license as the plpython (PostgreSQL) package.
# FIRST AUTHOR <kakalot49@gmail.com>, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: plpython (PostgreSQL) 11\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2018-04-22 12:08+0000\n"
"PO-Revision-Date: 2018-05-06 22:57+0900\n"
"Language-Team: <pgvn_translators@postgresql.vn>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.0.6\n"
"Last-Translator: Dang Minh Huong <kakalot49@gmail.com>\n"
"Language: vi_VN\n"

#: plpy_cursorobject.c:101
#, c-format
msgid "plpy.cursor expected a query or a plan"
msgstr "plpy.cursor kỳ vọng một câu truy vấn hoặc một plan"

#: plpy_cursorobject.c:184
#, c-format
msgid "plpy.cursor takes a sequence as its second argument"
msgstr "plpy.cursor lấy một chuỗi làm đối số thứ hai"

#: plpy_cursorobject.c:200 plpy_spi.c:211
#, c-format
msgid "could not execute plan"
msgstr "không thể chạy plan"

#: plpy_cursorobject.c:203 plpy_spi.c:214
#, c-format
msgid "Expected sequence of %d argument, got %d: %s"
msgid_plural "Expected sequence of %d arguments, got %d: %s"
msgstr[0] "Kỳ vọng chuỗi của đối số %d, đã nhận %d: %s"

#: plpy_cursorobject.c:352
#, c-format
msgid "iterating a closed cursor"
msgstr "lặp lại con trỏ đã đóng"

#: plpy_cursorobject.c:360 plpy_cursorobject.c:426
#, c-format
msgid "iterating a cursor in an aborted subtransaction"
msgstr "lặp lại một con trỏ trong một subtransaction đã bị hủy bỏ"

#: plpy_cursorobject.c:418
#, c-format
msgid "fetch from a closed cursor"
msgstr "fetch từ một con trỏ đã bị đóng"

#: plpy_cursorobject.c:461 plpy_spi.c:409
#, c-format
msgid "query result has too many rows to fit in a Python list"
msgstr "kết quả câu truy vấn có quá nhiều hàng để vừa với một danh sách Python"

#: plpy_cursorobject.c:512
#, c-format
msgid "closing a cursor in an aborted subtransaction"
msgstr "đóng một con trỏ trong một subtransaction bị hủy bỏ"

#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:559
#, c-format
msgid "%s"
msgstr "%s"

#: plpy_exec.c:142
#, c-format
msgid "unsupported set function return mode"
msgstr "không hỗ trợ thiết lập hàm trả về mode"

#: plpy_exec.c:143
#, c-format
msgid ""
"PL/Python set-returning functions only support returning one value per call."
msgstr ""
"PL/Python hàm thiết lập-trả về chỉ hỗ trợ trả về một giá trị cho một lần gọi."

#: plpy_exec.c:156
#, c-format
msgid "returned object cannot be iterated"
msgstr "đối tượng trả về không thể được lặp lại"

#: plpy_exec.c:157
#, c-format
msgid "PL/Python set-returning functions must return an iterable object."
msgstr "PL/Python hàm thiết lập-trả về phải trả về một iterable object."

#: plpy_exec.c:171
#, c-format
msgid "error fetching next item from iterator"
msgstr "lỗi khi fetch item tiếp theo từ iterator"

#: plpy_exec.c:214
#, c-format
msgid "PL/Python procedure did not return None"
msgstr "Thủ tục PL/Python đã không trả về None"

#: plpy_exec.c:218
#, c-format
msgid "PL/Python function with return type \"void\" did not return None"
msgstr "Hàm PL/Python với kiểu trả về là \"void\" đã không trả về None"

#: plpy_exec.c:374 plpy_exec.c:400
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "không mong đợi giá trị trả về từ thủ tục trigger"

#: plpy_exec.c:375
#, c-format
msgid "Expected None or a string."
msgstr "Kỳ vọng None hoặc một chuỗi."

#: plpy_exec.c:390
#, c-format
msgid ""
"PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
msgstr ""
"Hàm trigger PL/Python đã trả về \"MODIFY\" trong một DELETE trigger -- bỏ qua"

#: plpy_exec.c:401
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "Kỳ vọng None, \"OK\", \"SKIP\", hoặc \"MODIFY\"."

#: plpy_exec.c:451
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "Lỗi PyList_SetItem(), trong khi thiết lập đối số"

#: plpy_exec.c:455
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "Lỗi PyDict_SetItemString(), trong khi thiết lập đối số"

#: plpy_exec.c:467
#, c-format
msgid ""
"function returning record called in context that cannot accept type record"
msgstr ""
"hàm trả về bản ghi được gọi trong ngữ cảnh không thể chấp nhận kiểu bản ghi"

#: plpy_exec.c:684
#, c-format
msgid "while creating return value"
msgstr "trong khi tạo ra giá trị trả về"

#: plpy_exec.c:909
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "TD[\"new\"] đã bị xóa, không thể sửa đổi hàng"

#: plpy_exec.c:914
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] không phải là từ điển"

#: plpy_exec.c:941
#, c-format
msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
msgstr "Khóa từ điển TD[\"new\"] ở vị trí thứ tự %d không phải là chuỗi"

#: plpy_exec.c:948
#, c-format
msgid ""
"key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering "
"row"
msgstr ""
"khóa \"%s\" được tìm thấy trong TD[\"new\"] không tồn tại như là trigger mức "
"độ hàng"

#: plpy_exec.c:953
#, c-format
msgid "cannot set system attribute \"%s\""
msgstr "không thể thiết lập thuộc tính hệ thống \"%s\""

#: plpy_exec.c:1011
#, c-format
msgid "while modifying trigger row"
msgstr "trong khi sửa đổi trigger mức độ hàng"

#: plpy_exec.c:1072
#, c-format
msgid "forcibly aborting a subtransaction that has not been exited"
msgstr "buộc phải hủy bỏ một subtransaction chưa được thoát"

#: plpy_main.c:125
#, c-format
msgid "multiple Python libraries are present in session"
msgstr "có nhiều thư viện Python trong một phiên"

#: plpy_main.c:126
#, c-format
msgid "Only one Python major version can be used in one session."
msgstr "Chỉ có thể sử dụng một phiên bản chính của Python trong một phiên."

#: plpy_main.c:142
#, c-format
msgid "untrapped error in initialization"
msgstr "lỗi chưa được bẫy trong lúc khởi tạo"

#: plpy_main.c:165
#, c-format
msgid "could not import \"__main__\" module"
msgstr "không thể nhập mô-đun \"__main__\""

#: plpy_main.c:174
#, c-format
msgid "could not initialize globals"
msgstr "không thể khởi tạo biến global"

#: plpy_main.c:399
#, c-format
msgid "PL/Python procedure \"%s\""
msgstr "Thủ tục PL/Python \"%s\""

#: plpy_main.c:402
#, c-format
msgid "PL/Python function \"%s\""
msgstr "Hàm PL/Python \"%s\""

#: plpy_main.c:410
#, c-format
msgid "PL/Python anonymous code block"
msgstr "Khối mã ẩn danh PL/Python"

#: plpy_plpymodule.c:192 plpy_plpymodule.c:195
#, c-format
msgid "could not import \"plpy\" module"
msgstr "không thể nhập mô-đun \"plpy\""

#: plpy_plpymodule.c:210
#, c-format
msgid "could not create the spiexceptions module"
msgstr "không thể tạo mô-đun spiexceptions"

#: plpy_plpymodule.c:218
#, c-format
msgid "could not add the spiexceptions module"
msgstr "không thể thêm mô-đun spiexceptions"

#: plpy_plpymodule.c:286
#, c-format
msgid "could not generate SPI exceptions"
msgstr "không thể tạo exception SPI"

#: plpy_plpymodule.c:454
#, c-format
msgid "could not unpack arguments in plpy.elog"
msgstr "không thể giải nén đối số trong plpy.elog"

#: plpy_plpymodule.c:463
msgid "could not parse error message in plpy.elog"
msgstr "không thể phân tích cú pháp thông điệp lỗi trong plpy.elog"

#: plpy_plpymodule.c:480
#, c-format
msgid "argument 'message' given by name and position"
msgstr "đối số 'message' được chỉ định theo tên và vị trí"

#: plpy_plpymodule.c:507
#, c-format
msgid "'%s' is an invalid keyword argument for this function"
msgstr "'%s' là đối số từ khóa không hợp lệ cho hàm này"

#: plpy_plpymodule.c:518 plpy_plpymodule.c:524
#, c-format
msgid "invalid SQLSTATE code"
msgstr "mã SQLSTATE không hợp lệ"

#: plpy_procedure.c:230
#, c-format
msgid "trigger functions can only be called as triggers"
msgstr "hàm trigger chỉ có thể được gọi như trigger"

#: plpy_procedure.c:234
#, c-format
msgid "PL/Python functions cannot return type %s"
msgstr "Hàm PL/Python không thể trả về kiểu %s"

#: plpy_procedure.c:312
#, c-format
msgid "PL/Python functions cannot accept type %s"
msgstr "Các hàm PL/Python không thể chấp nhận kiểu %s"

#: plpy_procedure.c:402
#, c-format
msgid "could not compile PL/Python function \"%s\""
msgstr "không thể biên dịch hàm PL/Python \"%s\""

#: plpy_procedure.c:405
#, c-format
msgid "could not compile anonymous PL/Python code block"
msgstr "không thể biên dịch khối mã ẩn danh PL/Python"

#: plpy_resultobject.c:150 plpy_resultobject.c:176 plpy_resultobject.c:202
#, c-format
msgid "command did not produce a result set"
msgstr "lệnh không tạo ra một tập hợp kết quả"

#: plpy_spi.c:60
#, c-format
msgid "second argument of plpy.prepare must be a sequence"
msgstr "đối số thứ hai của plpy.prepare phải là một chuỗi"

#: plpy_spi.c:104
#, c-format
msgid "plpy.prepare: type name at ordinal position %d is not a string"
msgstr "plpy.prepare: gõ tên tại vị trí thứ tự %d không phải là một chuỗi"

#: plpy_spi.c:176
#, c-format
msgid "plpy.execute expected a query or a plan"
msgstr "plpy.execute kỳ vọng một truy vấn hoặc một plan"

#: plpy_spi.c:195
#, c-format
msgid "plpy.execute takes a sequence as its second argument"
msgstr "plpy.execute lấy một chuỗi làm đối số thứ hai"

#: plpy_spi.c:305
#, c-format
msgid "SPI_execute_plan failed: %s"
msgstr "SPI_execute_plan lỗi: %s"

#: plpy_spi.c:347
#, c-format
msgid "SPI_execute failed: %s"
msgstr "SPI_execute lỗi: %s"

#: plpy_subxactobject.c:122
#, c-format
msgid "this subtransaction has already been entered"
msgstr "subtransaction này đã được nhập"

#: plpy_subxactobject.c:128 plpy_subxactobject.c:186
#, c-format
msgid "this subtransaction has already been exited"
msgstr "subtransaction này đã được thoát"

#: plpy_subxactobject.c:180
#, c-format
msgid "this subtransaction has not been entered"
msgstr "subtransaction này chưa được nhập"

#: plpy_subxactobject.c:192
#, c-format
msgid "there is no subtransaction to exit from"
msgstr "không có subtransaction để thoát khỏi"

#: plpy_typeio.c:591
#, c-format
msgid "could not import a module for Decimal constructor"
msgstr "không thể nhập mô-đun cho Decimal constructor"

#: plpy_typeio.c:595
#, c-format
msgid "no Decimal attribute in module"
msgstr "không có thuộc tính thập phân trong mô-đun"

#: plpy_typeio.c:601
#, c-format
msgid "conversion from numeric to Decimal failed"
msgstr "chuyển đổi từ numeric sang thập phân không thành công"

#: plpy_typeio.c:908
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "không thể tạo đại diện cho của đối tượng Python"

#: plpy_typeio.c:1056
#, c-format
msgid "could not create string representation of Python object"
msgstr "không thể tạo ra chuỗi đại diện cho đối tượng Python"

#: plpy_typeio.c:1067
#, c-format
msgid ""
"could not convert Python object into cstring: Python string representation "
"appears to contain null bytes"
msgstr ""
"không thể chuyển đổi đối tượng Python thành cstring: đại diện chuỗi Python "
"chứa byte null"

#: plpy_typeio.c:1176
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "số lượng hướng của mảng vượt quá số lượng tối đa cho phép (%d)"

#: plpy_typeio.c:1180
#, c-format
msgid "could not determine sequence length for function return value"
msgstr "không thể xác định độ dài chuỗi cho giá trị trả về hàm"

#: plpy_typeio.c:1183 plpy_typeio.c:1187
#, c-format
msgid "array size exceeds the maximum allowed"
msgstr "kích thước mảng vượt quá mức tối đa cho phép"

#: plpy_typeio.c:1213
#, c-format
msgid ""
"return value of function with array return type is not a Python sequence"
msgstr ""
"giá trị trả về của hàm với kiểu trả về là mảng không phải là một chuỗi Python"

#: plpy_typeio.c:1259
#, c-format
msgid "wrong length of inner sequence: has length %d, but %d was expected"
msgstr "sai độ dài của chuỗi bên trong: có độ dài %d, nhưng %d được mong đợi"

#: plpy_typeio.c:1261
#, c-format
msgid ""
"To construct a multidimensional array, the inner sequences must all have the "
"same length."
msgstr ""
"Để xây dựng một mảng đa chiều, các chuỗi bên trong phải có cùng độ dài."

#: plpy_typeio.c:1340
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "bản ghi literal không đúng định dạng: \"%s\""

#: plpy_typeio.c:1341
#, c-format
msgid "Missing left parenthesis."
msgstr "Thiếu dấu ngoặc đơn trái."

#: plpy_typeio.c:1342 plpy_typeio.c:1543
#, c-format
msgid ""
"To return a composite type in an array, return the composite type as a "
"Python tuple, e.g., \"[('foo',)]\"."
msgstr ""
"Để trả về kiểu phức hợp trong một mảng, hãy trả về kiểu phức hợp dưới dạng "
"một hàng Python, ví dụ: \"[('foo',)]\"."

#: plpy_typeio.c:1389
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "không tìm thấy khóa \"%s\" trong ánh xạ"

#: plpy_typeio.c:1390
#, c-format
msgid ""
"To return null in a column, add the value None to the mapping with the key "
"named after the column."
msgstr ""
"Để trả về null trong một cột, thêm giá trị None vào ánh xạ với khóa được đặt "
"tên sau cột."

#: plpy_typeio.c:1443
#, c-format
msgid "length of returned sequence did not match number of columns in row"
msgstr "độ dài của chuỗi được trả về không khớp với số cột trong hàng"

#: plpy_typeio.c:1541
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "thuộc tính \"%s\" không tồn tại trong đối tượng Python"

#: plpy_typeio.c:1544
#, c-format
msgid ""
"To return null in a column, let the returned object have an attribute named "
"after column with value None."
msgstr ""
"Để trả về null trong một cột, hãy để đối tượng trả về có một thuộc tính được "
"đặt tên sau cột với giá trị None."

#: plpy_util.c:35
#, c-format
msgid "could not convert Python Unicode object to bytes"
msgstr "không thể chuyển đổi đối tượng Python Unicode thành byte"

#: plpy_util.c:41
#, c-format
msgid "could not extract bytes from encoded string"
msgstr "không thể trích xuất byte từ chuỗi đã được mã hóa"
